# pip install zhon
# pip install opencc

import jieba
import re
from zhon.hanzi import punctuation
import opencc
# 中文停用词列表
STOPWORDS = {'的', '了', '和', '是', '在', '我', '有', '这', '那', '啊', '吧', '吗', '呢', '呀'}
# 初始化中文简繁体转换器（用于词形还原）
converter = opencc.OpenCC('t2s.json')  # 繁体转简体
def preprocess_chinese_text(text):
    # 转换为小写（中文无大小写之分，这一步对中文无效）
    text = text.lower()
    # 移除特殊字符和数字
    # 使用正则表达式移除中文标点和数字
    text = re.sub(r'[{}]'.format(punctuation), ' ', text)
    text = re.sub(r'\d+', ' ', text)
    # 分词
    words = jieba.cut(text)
    # 移除停用词
    words = [w for w in words if w not in STOPWORDS and w.strip() != '']
    # 词形还原（中文主要是简繁体转换）
    words = [converter.convert(w) for w in words]
    # 重新组合文本
    return ' '.join(words)
# 测试示例
chinese_text = "今天天气很好！"
processed_text = preprocess_chinese_text(chinese_text)
print(f"原始文本: {chinese_text}")
print(f"处理后文本: {processed_text}")
